﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DotNetX
{
    /// <summary>
    /// A list of all supported countries
    /// </summary>
    public class Countries
    {
        /// <summary>
        /// This returns all of the supported countries
        /// </summary>
        /// <remarks>TODO: Fill in the rest of the countries from http://www.iso.org/iso/country_codes/iso_3166_code_lists/english_country_names_and_code_elements.htm
        /// Fill in the postal code formats from http://www.bitboost.com/ref/international-address-formats.html#Formats
        /// Fill in the country phone codes from http://www.countrycallingcodes.com/countrylist.php?country=A
        /// FIll in the currency codes from http://www.jhall.demon.co.uk/currency/by_country.html
        /// Fill in the currency symbols from http://www.jhall.demon.co.uk/currency/by_symbol.html</remarks>
        public static List<Country> AllCountries
        {
            get
            {
                // return all of the countries
                return _countries;
            }
        }
        #region Countries

        private static List<Country> _countries = new List<Country>(
            new Country[] {
                new Country("AUSTRALIA", "AU", "AUD", "$", 61, "XXXXXXXXXX", "XXXXX"),
                new Country("CHINA", "CN", "CNY", "元", 86, "XXXXXXXXXXX", "XXXXXX"),
                new Country("HONG KONG", "HK", "HKD", "$", 852, "XXXXXXXXXX", "XXXXXX"),
                new Country("TAIWAN", "TW", "TWD", "$", 886, "XXXXXXXXXX", "XXX-XX"),
                new Country("UNITED KINGDOM", "GB", "GBP", "£", 44, "XXXXXXXXXX", "XXXXX"),
                new Country("UNITED STATES", "US", "USD", "$", 1, "XXXXXXXXXX", "XXXXX"),
                new Country("OTHER", "N/A", "OTH", "¤", 0, "XXXXXXXXXX", "XXXXX")
            });

        #endregion
    }
}
